home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_02_04 / 2n04039b < prev    next >
Text File  |  1991-02-04  |  540b  |  28 lines

  1. '
  2. ' Casting 9's, table lookup version.
  3. '
  4.  
  5. DEFINT I-K
  6. DEFLNG L
  7. FUNCTION CAST2 (L) STATIC
  8. ' On first call, set up table values
  9.    IF IFIRSTCALL = 0 THEN
  10.       IFIRSTCALL = 1
  11.       REDIM ISUM(0 TO 99)
  12.       ISUM(0) = 0
  13.       FOR I = 1 TO 91 STEP 9
  14.          FOR J = 1 TO 9
  15.             ISUM(I+J-1) = J
  16.          NEXT J
  17.       NEXT I
  18.    END IF
  19. ' Then loop over pairs of digits
  20.    K = 0
  21.    L1 = L
  22.    WHILE L1 > 99
  23.       K = ISUM(K + ISUM(L1 MOD 100))
  24.       L1 = L1 \ 100
  25.    WEND
  26.    CAST2 = ISUM(K + ISUM(L1))
  27. END FUNCTION
  28.